package haiyangwangwork.day11.homework.ex1;

import java.util.Scanner;

public class Demo2 {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        char[] array = new char[4];
        //打印出四个不重复的0-9的数
        for (int i = 0; i < array.length; i++) {
            array[i] = (char) ((Math.random() * 10) +48);

            for (int j = 0; j < i; j++) {
                if (array[i] == array[j]) {//重复判断
                    i--;
                    break;
                }
            }
        }

        for (int i =0;i<array.length;i++){
            System.out.print(array[i]+" ");
        }

        for (; ; ) {
            System.out.println("请输入一个数：");
            String str = input.next();
            if (str.length() != 4) {
                System.out.println("输入的信息有误，请重新输入");
                continue;
            }
            char[] inputChars = str.toCharArray();
            boolean flag = false;
            for (int i = 0; i < inputChars.length; i++) {
                for (int j = 0; j < i; j++) {
                    if (inputChars[i] == inputChars[j]) {
                        flag = true;
                        break;
                    }
                }
            }

            if (flag) {
                System.out.println("输入信息有误，请重新输入");
                continue;
            }
//                int a = 0, b = 0;
//                    for (i = 0; i < array.length; i++) {
//
//                        for (int j = 0; j < inputChars.length; j++) {
//                            if (array[i] == inputChars[j]) {
//                                if (i==j){a++;}else {b++;}
//                            }
//
//                        }
//                        System.out.println("出现了" + a + "a" + b + "b");
//                        if (a==4){
//                            System.out.println("恭喜你答对了");
//                            break;
//                        }
//                    }

            //比较
            int A=0,B=0;
            for (int i = 0;i<array.length;i++){
                for (int j = 0;j<inputChars.length;j++){
                    if (array[i]==inputChars[i]){
                        if (i==j){
                            A++;
                        }else {
                            B++;
                        }
                    }
                }
            }

            System.out.println(A+"a"+B+"b");
            if(A==4){
                System.out.println("恭喜你答对啦");
                break;
            }

        }


        //用户输入,判断用户是否输入了有用的信息   是不是输入的字符串
//        for (;;){
//            String num = input.next();
//            int num1 =Integer.parseInt(num);

//            if(array[j]==num1){
//                System.out.println("恭喜你猜对啦！");
//                break;
//            }else{
//                System.out.println("不对，再来");
//
//            }
//        }
    }

    //    通常由两个人玩，一方出数字，一方猜。出数字的人要想好一个没有重复数字的4个数，
//    不能让猜的人知道。猜的人就可以开始猜。每猜一个数字，出数者就要根据这个数字给出几A几B，
//    其中A前面的数字表示数字正确且位置正确的数的个数，而B前的数字表示数字正确而位置不对的数的个数。

}
